package com.yao.mall.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yao.mall.model.entity.SkuAttrValue;
import com.yao.mall.model.vo.SkuAttrValueVO;
import com.yao.mall.service.SkuAttrValueService;
import com.yao.mall.mapper.SkuAttrValueMapper;
import jakarta.annotation.Resource;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;

import java.util.List;

/**
* @author jiahua.yao
* @description 针对表【sku_attr_value】的数据库操作Service实现
* @date 2024-03-10 20:41:19
*/
@Service
public class SkuAttrValueServiceImpl extends ServiceImpl<SkuAttrValueMapper, SkuAttrValue>
    implements SkuAttrValueService{

    @Resource
    private SkuAttrValueMapper skuAttrValueMapper;


    @Override
    public List<SkuAttrValueVO> toSkuAttrValueVO(List<SkuAttrValue> skuAttrValueList) {
        return skuAttrValueList.stream().map(skuAttrValue -> {
            SkuAttrValueVO skuAttrValueVO = new SkuAttrValueVO();
            BeanUtils.copyProperties(skuAttrValue, skuAttrValueVO);
            return skuAttrValueVO;
        }).toList();
    }

    @Override
    public String getAttrsText(Long skuId){
        //属性信息封装成一个长String用于购物车展示
        QueryWrapper<SkuAttrValue> queryWrapper = new QueryWrapper<>();
        //sku找属性信息
        queryWrapper.eq("sku_id", skuId);
        List<SkuAttrValue> skuAttrValues = skuAttrValueMapper.selectList(queryWrapper);
        StringBuilder keyValue = new StringBuilder();
        for (SkuAttrValue skuAttrValue : skuAttrValues) {
            keyValue.append(skuAttrValue.getKeyName()).append(":").append(skuAttrValue.getValue());
            keyValue.append(" ");
        }
        return keyValue.toString();
    }
}




